﻿#ifndef TOUCHTOOLWIDGET_H
#define TOUCHTOOLWIDGET_H

#include <QDockWidget>

#include "utils/Monitor/MonitorInfo.h"
#include "components/PointTrackWindow/PointTrackWindow.h"
#include "utils/touch/TouchInjector.h"
#include "TouchHandler.h"

namespace Ui {
class TouchToolWidget;
}

class TouchToolWidget : public QDockWidget
{
    Q_OBJECT

public:
    explicit TouchToolWidget(QWidget *parent = nullptr);
    ~TouchToolWidget();

private slots:
    void setUiEnabled(bool en);

    void onTouched(const QList<TouchPoint>& points);

    void on_btnRefreshScreens_clicked();

    void on_cbScreen_activated(int index);

    void on_btnStart_clicked();

    void on_btnClearLog_clicked();

    void on_hsOpacity_valueChanged(int value);

    void on_btnClearPoint_clicked();

private:
    Ui::TouchToolWidget *ui;
    QList<MonitorData> m_monitors;
    TouchHandler* m_handler;
    PointTrackWindow* m_ptw;
    TouchInjector* m_injector;
};

#endif // TOUCHTOOLWIDGET_H
